<?php
namespace app\admin\controller;
use think\Db;
use think\Loader;

class Admin extends Base{

    //管理员列表
    public function lst(){
        $admins = Db::name('admin') -> paginate(2);
        $this -> assign('admins', $admins);
        return $this -> fetch();
    }

    //新增管理员
    public function add(){
        if(request() -> isPost()){
            $data = [
                'username' => input('username'),
                'password' => md5(input('password')),

            ];
            $validate = Loader::validate('Admin');
            if($validate-> check($data)){
                $db = Db::name('admin') -> insert($data);
                if($db){
                    return $this -> success('添加管理员成功！', 'lst');
                }else{
                    return $this -> error('添加管理员失败！');
                }
            }else{
                return $this -> error($validate -> getError());
            }
            return;
        }

        return $this -> fetch();
    }

    //修改管理员
    public function edit(){
        $id = input('id');
        if(request() -> isPost()){
            $password = Db::name('admin') -> find($id)['password'];

            $data = [
                'id' => input('id'),
                'username' => input('username'),
                'password' => input('password') ? md5(input('password')) : $password,

            ];
            $validate = Loader::validate('Admin');
            if($validate ->scene('edit') -> check($data)){
                $db = Db::name('admin') -> update($data);
                if($db){
                    return $this -> success('修改管理员成功！', 'lst');
                }else{
                    return $this -> error('修改管理员失败！');
                }
            }else{
                return $this -> error($validate -> getError());
            }
            return;
        }

        $admins = Db::name('admin') -> where('id', $id) -> find();
        $this -> assign('admins', $admins);
        return $this -> fetch();
    }

    //删除管理员
    public function del(){
        $id = input('id');
        if($id == 1){
            return $this -> error('删除管理员失败！');
        }

        if(db('admin') -> delete($id)){
            return $this -> success('删除管理员成功！', 'admin/lst');
        }else{
            return $this -> error('删除管理员失败！');
        }
    }
}